home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / usr / include / linux / nfs3.h < prev    next >
C/C++ Source or Header  |  2009-10-16  |  2KB  |  95 lines

  1. /*
  2.  * NFSv3 protocol definitions
  3.  */
  4. #ifndef _LINUX_NFS3_H
  5. #define _LINUX_NFS3_H
  6.  
  7. #define NFS3_PORT        2049
  8. #define NFS3_MAXDATA        32768
  9. #define NFS3_MAXPATHLEN        PATH_MAX
  10. #define NFS3_MAXNAMLEN        NAME_MAX
  11. #define NFS3_MAXGROUPS        16
  12. #define NFS3_FHSIZE        64
  13. #define NFS3_COOKIESIZE        4
  14. #define NFS3_FIFO_DEV        (-1)
  15. #define NFS3MODE_FMT        0170000
  16. #define NFS3MODE_DIR        0040000
  17. #define NFS3MODE_CHR        0020000
  18. #define NFS3MODE_BLK        0060000
  19. #define NFS3MODE_REG        0100000
  20. #define NFS3MODE_LNK        0120000
  21. #define NFS3MODE_SOCK        0140000
  22. #define NFS3MODE_FIFO        0010000
  23.  
  24. /* Flags for access() call */
  25. #define NFS3_ACCESS_READ    0x0001
  26. #define NFS3_ACCESS_LOOKUP    0x0002
  27. #define NFS3_ACCESS_MODIFY    0x0004
  28. #define NFS3_ACCESS_EXTEND    0x0008
  29. #define NFS3_ACCESS_DELETE    0x0010
  30. #define NFS3_ACCESS_EXECUTE    0x0020
  31. #define NFS3_ACCESS_FULL    0x003f
  32.  
  33. /* Flags for create mode */
  34. enum nfs3_createmode {
  35.     NFS3_CREATE_UNCHECKED = 0,
  36.     NFS3_CREATE_GUARDED = 1,
  37.     NFS3_CREATE_EXCLUSIVE = 2
  38. };
  39.  
  40. /* NFSv3 file system properties */
  41. #define NFS3_FSF_LINK        0x0001
  42. #define NFS3_FSF_SYMLINK    0x0002
  43. #define NFS3_FSF_HOMOGENEOUS    0x0008
  44. #define NFS3_FSF_CANSETTIME    0x0010
  45. /* Some shorthands. See fs/nfsd/nfs3proc.c */
  46. #define NFS3_FSF_DEFAULT    0x001B
  47. #define NFS3_FSF_BILLYBOY    0x0018
  48. #define NFS3_FSF_READONLY    0x0008
  49.  
  50. enum nfs3_ftype {
  51.     NF3NON  = 0,
  52.     NF3REG  = 1,
  53.     NF3DIR  = 2,
  54.     NF3BLK  = 3,
  55.     NF3CHR  = 4,
  56.     NF3LNK  = 5,
  57.     NF3SOCK = 6,
  58.     NF3FIFO = 7,    /* changed from NFSv2 (was 8) */
  59.     NF3BAD  = 8
  60. };
  61.  
  62. struct nfs3_fh {
  63.     unsigned short size;
  64.     unsigned char  data[NFS3_FHSIZE];
  65. };
  66.  
  67. #define NFS3_VERSION        3
  68. #define NFS3PROC_NULL        0
  69. #define NFS3PROC_GETATTR    1
  70. #define NFS3PROC_SETATTR    2
  71. #define NFS3PROC_LOOKUP        3
  72. #define NFS3PROC_ACCESS        4
  73. #define NFS3PROC_READLINK    5
  74. #define NFS3PROC_READ        6
  75. #define NFS3PROC_WRITE        7
  76. #define NFS3PROC_CREATE        8
  77. #define NFS3PROC_MKDIR        9
  78. #define NFS3PROC_SYMLINK    10
  79. #define NFS3PROC_MKNOD        11
  80. #define NFS3PROC_REMOVE        12
  81. #define NFS3PROC_RMDIR        13
  82. #define NFS3PROC_RENAME        14
  83. #define NFS3PROC_LINK        15
  84. #define NFS3PROC_READDIR    16
  85. #define NFS3PROC_READDIRPLUS    17
  86. #define NFS3PROC_FSSTAT        18
  87. #define NFS3PROC_FSINFO        19
  88. #define NFS3PROC_PATHCONF    20
  89. #define NFS3PROC_COMMIT        21
  90.  
  91. #define NFS_MNT3_VERSION    3
  92.  
  93.  
  94. #endif /* _LINUX_NFS3_H */
  95.